<?php

require_once("../../util/util.php");
require_once("regras/negocio/oficinaNegocio.php");
$objNegocio = new OficinaNegocio();

if ($acao == "CADASTRAR") {

    if ($_POST) {

        $arrayDados = array();
        $arrayDados["descricao"] = strtoupper(trim($_POST["txtdescricao"]));
        $arrayDados["valor"] = Util::moedaBd(trim($_POST["txtvalor"]));
        $arrayDados["codigo"] = trim($_POST["hdcodigo"]);
        $arrayDados["codigoVeiculo"] = trim($_POST["hdcodigoVeiculo"]);

        if (!empty($arrayDados["descricao"]) && !empty($arrayDados["valor"]) && !empty($arrayDados["codigo"]) && !empty($arrayDados["codigoVeiculo"])) {

            $retorno = $objNegocio->adicionarDespesaVeiculo($arrayDados);
            if ($retorno) {
                echo "<script type='text/javascript'>window.location='oficina-despesas.php?codigo=" . $_POST["hdcodigo"] . "&codigoVeiculo=" . $arrayDados["codigoVeiculo"] . "&msg=sucesso'</script>";
            } else {
                $class = "erro";
                $mensagem = "falha ao tentar inserir despesas";
            }
        } else {
            $class = "erro";
            $mensagem = "todos os campos devem ser preenchidos";
        }
    } else {
        //MENSAGENS DE ALERTA
        if (isset($_GET["msg"])) {

            switch ($_GET["msg"]) {
                case 'sucesso':
                    $mensagem = "despesa cadastrada com sucesso";
                    $class = "sucesso";
            }
        }
    }

    $despesas = $objNegocio->retornaDespesas($codigo);
    $despesasAnteriores = $objNegocio->retornaDespesasAnteriores($codigoVeiculo);
} elseif ($acao == "ATUALIZAR") {

    if (isset($tipoAcao)) {

        $arrayDados = array();
        $arrayDados["descricao"] = strtoupper(trim($_POST["txtdescricao"]));
        $arrayDados["valor"] = Util::moedaBd(trim($_POST["txtvalor"]));
        $arrayDados["codigo"] = trim($_POST["hdcodigoDespesa"]);
        $arrayDados["codigoVeiculo"] = trim($_POST["hdcodigoVeiculo"]);

        if (!empty($arrayDados["descricao"]) && !empty($arrayDados["valor"]) && !empty($arrayDados["codigo"]) && !empty($arrayDados["codigoVeiculo"])) {
            $retorno = $objNegocio->atualizarDespesaVeiculo($arrayDados);
            if ($retorno) {
                echo "<script type='text/javascript'>window.location='oficina-despesas.php?codigo=" . $_POST["hdcodigo"] . "&codigoVeiculo=" . $arrayDados["codigoVeiculo"] . "&msg=sucesso'</script>";
            } else {
                echo "<script type='text/javascript'>window.location='oficina-despesas.php?codigo=" . $_POST["hdcodigo"] . "&codigoVeiculo=" . $arrayDados["codigoVeiculo"] . "&msg=erro'</script>";
            }
        }
    } else {
        $despesa = $objNegocio->retornaDespesa($codigoDespesa);
    }
} elseif ($acao == "EXCLUIR") {

    if (is_numeric($codigo)) {

        $retorno = $objNegocio->removerDespesaVeiculo($codigo);

        if ($retorno) {
            $msg = "sucessoexc";
        } else {
            $msg = "falhaexc";
        }
    } else {
        $msg = "codigoinvalido";
    }

    echo "<script type='text/javascript'>window.location='oficina.php?msg=" . $msg . "'</script>";
} elseif ($acao == "FINALIZAR") {

    if ($_POST) {

        $arrayDados = array();

        if ($_POST["txttotal"] > 0) {

            $arrayDados["total"] = Util::moedaBd($_POST["txttotal"]);
            $arrayDados["parcelas"] = $_POST["ddlparcelas"];
            $arrayDados["data"] = $_POST["txtdataParcela"];
            $arrayDados["valor"] = $_POST["txtvalorParcela"];
        }

        $arrayDados["natureza"] = "2"; //OFICINA
        $arrayDados["codigo"] = $codigoVeiculo;
        $arrayDados["loja"] = $_POST["ddlLoja"];

        Util::begin();

        if ($_POST["txttotal"] > 0) {
            list($retorno, $idMovimento) = explode("$", $objNegocio->cadastrarMovimento($arrayDados));
        } else {
            $retorno = true;
        }

        if ($retorno) {

            if ($_POST["txttotal"] > 0) {
                $retorno = $objNegocio->cadastrarTitulo($arrayDados, $idMovimento);
            } else {
                $retorno = true;
            }

            if ($retorno) {

                $retorno = $objNegocio->finalizarMovimentoDespesasOficina($codigo);
                if ($retorno) {

                    $retorno = $objNegocio->finalizarDespesasOficina($codigo);
                    if ($retorno) {

                        $retorno = $objNegocio->atualizarStatusVeiculo($arrayDados);
                        if ($retorno) {

                            Util::commit();
                            echo "<script type='text/javascript'>window.location='oficina.php?msg=sucessoFinalizar'</script>";
                            die();
                        } else {
                            $class = "erro";
                            $mensagem = "falha ao tentar atualizar o status do veículo";
                        }
                    } else {
                        $class = "erro";
                        $mensagem = "falha ao tentar finalizar as despesas da oficina";
                    }
                } else {
                    $class = "erro";
                    $mensagem = "falha ao tentar finalizar o movimento das despesas da oficina";
                }
            } else {
                $class = "erro";
                $mensagem = "falha ao tentar cadastrar titulos";
            }
        } else {
            $class = "erro";
            $mensagem = "falha ao tentar cadastrar movimento";
        }

        Util::rollback();
    }

    $despesas = $objNegocio->retornaDespesas($codigo);
    $lojas = $objNegocio->retornarLojas();
} else {

    $arrayDados = array();

    if ((isset($_GET["hdPesquisar"])) && ($_GET["hdPesquisar"] == 1)) {

        $arrayDados["placa"] = trim($_GET["txtPlaca"]);
        $limite = 0;

        $veiculos = $objNegocio->retornaVeiculos($limite, $arrayDados);
    } else {
        $limite = 20;
        $veiculos = $objNegocio->retornaVeiculos($limite);
    }

    //MENSAGENS DE ALERTA
    if (isset($_GET["msg"])) {

        switch ($_GET["msg"]) {
            case 'sucesso':
                $mensagem = "despesa cadastrada com sucesso";
                $class = "sucesso";
                break;
            case 'sucessoact':
                $mensagem = "despesa atualizada com sucesso";
                $class = "sucesso";
                break;
            case 'sucessoexc':
                $mensagem = "despesa excluida com sucesso";
                $class = "sucesso";
                break;
            case 'falhaexc':
                $mensagem = "falha ao tentar excluir despesa";
                $class = "erro";
                break;
            case 'codigoinvalido':
                $mensagem = "codigo invalido";
                $class = "erro";
                break;
            case 'sucessoFinalizar':
                $mensagem = "veículo enviado com sucesso a oficina";
                $class = "sucesso";
                break;
        }
    }
}
?>